安装 scikit-learn

有多种方法可以安装scikit-learn:

  • 安装最新的官方版本。对于大多数用户来说,这是最好的方法。它提供一个稳定的版本和可用于大多数平台的预编译的软件包。
  • 根据操作系统或Python发行版安装scikit-learn版本 。对于那些拥有操作系统或发布了scikit-learn的Python发行版的用户来说,这是一个快速的选择。这种方法可能安装不了scikit-learn最新的发行版本。
  • 从源代码构建软件包。对于需要最新和最好的功能并且不怕运行全新代码的用户而言,这是最好的选择。希望为该项目做出贡献的用户也必须要这样做。

安装最新版本

操作系统: Windows macOS Linux

打包器(Packager): pip conda

使用pip虚拟环境 使用conda环境

首先下载及安装python3:

使用pip packager时:

  • Windows系统:从 https://www.python.org 下载安装64位的Python 3 版本。
  • mac系统:使用 homebrew (brew install python)安装Python 3 或从 https://www.Python.org 下载Python 3 软件包并手动安装。
  • Linux系统:使用Linux发行版的软件包管理器来安装python3和python3-pip

使用conda packager时:

  • Windows/mac/Linux系统: 安装 conda (无需管理员权限).

然后运行以下命令安装 scikit-learn:

# 情况一:使用pip packager时,若使用 pip 虚拟环境,在windows系统中,使用以下三行命令
$ python -m venv sklearn-venv
$ sklearn-venv\Scripts\activate
$ pip install -U scikit-learn
# 情况二:使用pip packager时,若使用 pip 虚拟环境,在mac系统中,使用以下三行命令
$ python -m venv sklearn-venv
$ source sklearn-venv/bin/activate
$ pip install -U scikit-learn
# 情况三:使用pip packager时,若使用 pip 虚拟环境,在Linux系统中,使用以下三行命令
$ python3 -m venv sklearn-venv
$ source sklearn-venv/bin/activate
$ pip install -U scikit-learn
# 情况四:使用pip packager时,若不使用 pip 虚拟环境,在windows/mac系统中,使用以下一行命令
$ pip install -U scikit-learn
# 情况五:使用pip packager时,若不使用 pip 虚拟环境,在Linux系统中,使用以下一行命令
$ pip3 install -U scikit-learn
# 情况六:使用conda packager时,若使用 conda 环境,在windows/mac/Linux系统中,使用以下三行命令
$ conda create -n sklearn-env
$ conda activate sklearn-env
$ conda install scikit-learn
# 情况七:使用conda packager时,若不使用 conda 环境,在windows/mac/Linux系统中,使用以下一行命令
$ conda install scikit-learn

使用以下命令检查您是否安装成功:

# 情况一:使用pip packager时,若使用 pip 虚拟环境,在windows/mac/Linux系统中,使用以下三行命令
$ python -m pip show scikit-learn  # 查看scikit-learn的安装路径和版本
$ python -m pip freeze  # 在激活的环境(virtualenv)中查看python安装的所有包
$ python -c "import sklearn; sklearn.show_versions()"
# 情况二:使用pip packager时,若不使用 pip 虚拟环境,在windows/mac系统中,使用以下三行命令
$ python -m pip show scikit-learn # 查看scikit-learn的安装路径和版本
$ python -m pip freeze # 在激活的环境(virtualenv)中查看python安装的所有包
$ python -c "import sklearn; sklearn.show_versions()"
# 情况三:使用pip packager时,若不使用 pip 虚拟环境,在Linux系统中,使用以下三行命令
$ python3 -m pip show scikit-learn # 查看scikit-learn的安装路径和版本
$ python3 -m pip freeze # 在激活的环境(virtualenv)中查看python安装的所有包
$ python3 -c "import sklearn; sklearn.show_versions()"
# 情况四:使用conda packager时,若使用/不使用 conda 环境,使用以下三行命令
$ conda list scikit-learn # 查看scikit-learn的安装版本
$ conda list # 在激活的环境(conda)中查看python安装的所有包
$ python -c "import sklearn; sklearn.show_versions()"

请注意,为了避免与其他软件包发生潜在的冲突,强烈建议使用虚拟环境,例如python3 virtualenv (请参阅python3 virtualenv文档)或 conda环境

使用独立的环境可以安装scikit-learn的特定版本及其依赖并且独立于任何以前安装过的Python包。特别对于Linux系统来说,不建议使用系统的软件包管理器(apt,dnf,pacman…)来安装pip包。

请注意,如果您启动一个新的终端会话的话,您都应始终记住在运行任何Python命令之前激活您选择的环境。

如果尚未安装NumPy或SciPy,也可以使用conda或pip来安装它们。使用pip时,请确保使用二进制wheels(binary wheels)*文件进行安装,这样的话不会重新编译NumPy和SciPy的源代码,但当使用操作系统和硬件的特定配置(例如Linux上的Raspberry Pi)时可能会发生重新编译。

如果必须使用pip安装scikit-learn及其依赖的话,则可以将其安装为scikit-learn[alldeps]

Scikit-learn绘图功能(即,函数以“ plot_”开头,类名以“ Display”结尾)需要Matplotlib(版本> = 1.5.1)。为了运行示例,需要Matplotlib版本> = 1.5.1。一些示例要求scikit-image版本> = 0.12.3,一些示例要求pandas版本> = 0.18.0。

警告:

Scikit-learn 0.20是最后一个支持Python 2.7和Python 3.4的版本。现在的Scikit-learn版本需要安装Python 3.5或更高版本。

注意:

要在PyPy上安装的话,需要PyPy3-v5.10 +,Numpy 1.14.0+和scipy 1.1.0+。

scikit-learn的第三方发行版

一些第三方发行版提供了scikit-learn的版本,这些版本与它们的包管理系统集成在一起。

这样的集成使得用户的安装和升级变得更加容易,因为集成功能包括自动安装scikit-learn所需的依赖(numpy,scipy)。

以下提供一个操作系统(OS)的不完整列表和包含各自scikit-learn版本的python发行版。

Arch Linux

Arch Linux的包是作为Python的 python-scikit-learn官方仓库所提供的。可以通过输入以下命令来安装它:

$ sudo pacman -S python-scikit-learn

Debian/Ubuntu

Debian / Ubuntu 的软件包分为三个不同的软件包,分别称为 python3-sklearn(python模块),python3-sklearn-lib(底层的实现和绑定),python3-sklearn-doc(文档)。Debian Buster(最新的Debian发行版)中仅提供Python 3版本。可以使用以下命令apt-get来安装软件包:

$ sudo apt-get install python3-sklearn python3-sklearn-lib python3-sklearn-doc

Fedora

Fedora软件包被称为python3-scikit-learn,它是专门为python 3版本所提供的,这是Fedora30中唯一可用的软件包。可以使用命令dnf安装:

$ sudo dnf install python3-scikit-learn

NetBSD

可在pkgsrc-wip下载scikit-learn:

http://pkgsrc.se/math/py-scikit-learn

Mac OSX中的MacPorts

MacPorts软件包的名称为py<XY>-scikits-learn,其中XY表示Python版本。可以通过输入以下命令来安装它:

$ sudo port install py36-scikit-learn

所有支持Canopy 和 Anaconda 的平台

CanopyAnaconda 除了提供在Windows,Mac OSX和Linux系统上的大量科学计算的python库之外,还提供了最新版本的scikit-learn。

Anaconda的免费发布版提供scikit-learn。

英特尔conda通道

英特尔维护着一个专用的conda通道,该通道可安装scikit-learn:

$ conda install -c intel scikit-learn

此版本的scikit-learn带有供选择的求解器(solvers)来替代一些常见估计器。这些求解器(solvers)来自DAAL C ++库,并针对多核Intel CPU进行了优化。

请注意,默认情况下未启用这些求解器(solvers),有关更多详细信息,请参阅 daal4py文档。

通过运行https://github.com/IntelPython/daal4py上的自动连续完整的scikit-learn测试套件程序,来检查标准scikit-learn求解器(solvers)的兼容性。

Windows中的WinPython

WinPython项目把scikit-learn作为额外的插件。

故障排除

Windows上的文件路径长度限制引起的错误

如果将Python安装在嵌套路径(例如用户主目录下的AppData文件夹结构)中,当达到Windows默认路径大小的限制时,pip可能无法安装软件包 ,例如:

C:\Users\username>C:\Users\username\AppData\Local\Microsoft\WindowsApps\python.exe -m pip install scikit-learn
Collecting scikit-learn
...
Installing collected packages: scikit-learn
ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python37\\site-packages\\sklearn\\datasets\\tests\\data\\openml\\292\\api-v1-json-data-list-data_name-australian-limit-2-data_version-1-status-deactivated.json.gz'

在这种情况下,可以使用regedit工具在Windows注册表中取消该限制:

  1. 在Windows开始菜单中输入“regedit”以启动regedit

  2. 转到 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

  3. 编辑该LongPathsEnabled属性的值并将其设置为1。

  4. 重新安装scikit-learn(忽略之前错误的安装):

    ```cmd
    pip install --exists-action=i scikit-learn
    ```
    

©2007-2019,scikit-learn开发人员(BSD许可证)。 显示此页面源码